<?php
/**
 * Created by PhpStorm OF yuyi.
 * User: YUYI
 * Date: 2018/5/10 0010
 * Time: 下午 3:38
 * Administrator
 */

namespace app\common\util;


trait StringUtil
{
    /**
     * 移除指定HTML标签
     * @param $str string 网页代码
     * @param $tags string 指定标签代码
     * @param bool $stripContent 移除标签内的内容，比如将整个链接删除等，默认为False，即不删除标签内的内容。
     * @return string
     * 使用strip_tags保留某些标签
     */
    public static function strip_only($str, $tags='', $stripContent = false) {
        $content = '';
        if(!is_array($tags)) {
            $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
            if(end($tags) == '') array_pop($tags);
        }
        foreach($tags as $tag) {
            if ($stripContent)
                $content = '(.+</'.$tag.'[^>]*>|)';
            $str = preg_replace('#</?'.$tag.'[^>]*>'.$content.'#is', '', $str);
        }
        return $str;
    }

    /**
     * 获取随机字符串
     * @param $num int 长度
     * @return string
     */
    public static function getNonceString ($num = 6)
    {
        $chars = "abcdefghijklmnopqrstuvwxyz0123456789";
        $nonce = '';
        for ( $i = 0; $i < $num; $i++)
            $nonce .= $chars[ mt_rand(0, strlen($chars) - 1) ];
        return $nonce;
    }
}